home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1999 #2 / Amiga Plus CD - 1999 - No. 2.iso / System-Boost / Workbench / TinyMeter / Source / TinyMeter_main / tinymeter.h < prev    next >
C/C++ Source or Header  |  1997-02-27  |  9KB  |  260 lines

  1. #include <libraries/SysInfo.h>
  2. #include <clib/all_protos.h>
  3. #include <clib/screennotify_protos.h>
  4. #include <clib/datatypes_protos.h>
  5. #include <clib/locale_protos.h>
  6. #include <clib/wbstart_protos.h>
  7. #include <strings.h>
  8.  
  9. #define err_nomem       0
  10. #define err_nowin       1
  11. #define err_nopor       2
  12. #define err_noboo       3
  13. #define err_nodev       4
  14. #define err_nosta       5
  15. #define err_nopre       6
  16. #define err_nolis       7
  17.  
  18. #define idle_none       0
  19. #define idle_executive  1
  20. #define idle_own        2
  21.  
  22. #define col_label       0
  23. #define col_format      1
  24. #define col_base        2
  25. #define col_current     3
  26. #define col_negative    4
  27. #define col_bright      5
  28. #define col_dark        6
  29. #define col_bg          7
  30.  
  31. #define bg_none         0
  32. #define bg_file         1
  33. #define bg_snap         2
  34.  
  35. #define win_normal      0
  36. #define win_fixed       1
  37.  
  38. #define win_front       1
  39. #define win_back        2
  40.  
  41. #define bd_none         0
  42. #define bd_simple       1
  43. #define bd_standard     2
  44. #define bd_double       3
  45.  
  46. #define ind_centered    0
  47. #define ind_left        1
  48. #define ind_right       2
  49.  
  50. #define typ_none            0
  51. #define typ_all             1
  52. #define typ_chip            2
  53. #define typ_fast            3
  54. #define typ_volume          4
  55. #define typ_idle            5
  56. #define typ_retina          6
  57. #define typ_largest_chip    7
  58. #define typ_largest_fast    8
  59. #define typ_largest_total   9
  60. #define typ_largest_retina  10
  61. #define typ_clock_          11
  62. #define typ_simplelauncher  12
  63. #define typ_iconlauncher    13
  64.  
  65. #define typ_gauge       0
  66. #define typ_histmeter   1
  67. #define typ_clock       2
  68.  
  69. struct tm_gau_set
  70. {
  71.     UWORD   type;
  72.     UWORD   gauge_type;
  73.  
  74.     UWORD   size_y;     /* in 100+x percent of the font size ! */
  75.  
  76.     char    font[128];
  77.     UWORD   font_size;
  78.  
  79.     char    label[16];
  80.     char    format[128];
  81.  
  82.     char    expansion[128]; /* used for image type and volume */
  83.     UWORD   indent;
  84.  
  85.     UWORD   sty_3d;
  86.     UWORD   sty_border;
  87.     UWORD   sty_bg;
  88.     UWORD   sty_shadow;
  89.     UWORD   sty_nogauge;
  90.     UWORD   sty_noformat;
  91.     UWORD   sty_nobase;
  92.  
  93.     struct  GAU_Color Colors[8];
  94.  
  95.     struct  tm_gau_set *next;
  96. };
  97.  
  98. struct tm_lau_set
  99. {
  100.     UWORD   type;
  101.     UWORD   gauge_type;
  102.  
  103.     UWORD   size_y;     /* in 100+x percent of the font size ! */
  104.  
  105.     char    font[128];
  106.     UWORD   font_size;
  107.  
  108.     char    label[16];
  109.     char    dummy1[128];
  110.  
  111.     char    file[128]; /* used for image type and volume */
  112.     UWORD   indent;
  113.  
  114.     UWORD   sty_xen;
  115.     UWORD   sty_border;
  116.     UWORD   sty_bg;
  117.     UWORD   sty_shadow;
  118.     UWORD   sty_down;
  119.     UWORD   sty_transparent;
  120.     UWORD   dummy4;
  121.  
  122.     struct  GAU_Color Colors[8];
  123.  
  124.     struct  tm_gau_set *next;
  125. };
  126.  
  127.  
  128. struct tm_sys_set
  129. {
  130.     ULONG   set_header;
  131.     UWORD   set_version;
  132.  
  133.     UWORD   x_pos;
  134.     UWORD   y_pos;
  135.     UWORD   x_siz;
  136.     UWORD   colums;
  137.  
  138.     char    pub_name[128];
  139.  
  140.     char    font_name[40];
  141.     UWORD   font_size;
  142.  
  143.     UWORD   bg_type;
  144.     char    bg_picture[126];
  145.     BYTE    lay_falling;
  146.     BYTE    pri;
  147.     struct  GAU_Color bg_color;
  148.  
  149.     UWORD   vol_refresh;
  150.     UWORD   mem_refresh;
  151.  
  152.     UWORD   start_wait;
  153.     UWORD   start_usescreennotify;
  154.  
  155.     UWORD   win_move;
  156.     UWORD   win_backfront;
  157.     UWORD   win_border_x;
  158.     UWORD   win_border_y;
  159.     UWORD   win_space_x;
  160.     UWORD   win_space_y;
  161.  
  162.     UWORD   bd_type;
  163.     struct  GAU_Color bright_color;
  164.     struct  GAU_Color dark_color;
  165.  
  166.     UWORD   Executive;
  167.  
  168. };
  169.  
  170. struct PathList
  171. {
  172.     BPTR NextPath;
  173.     BPTR PathLock;
  174. };
  175.  
  176. struct tm_data
  177. {
  178.     ULONG  dummy;
  179.     struct tm_gau_set   *list;
  180.     struct Window       *win;
  181.     struct Screen       *scr;
  182.     struct BitMap       *bg_bm;
  183.     struct TextFont     *Font[64];
  184.     BOOL   on_public;
  185.     UWORD  executive;
  186.     UWORD  labelpos;
  187.     UWORD  gauge_y_size[64];
  188.     UWORD  gauge_y_pos[64];
  189.     UWORD  gauge_y_size_falling[64];
  190.     UWORD  gauge_x_size;
  191.     UWORD  min_x_size;
  192.     UBYTE  num_of_gaug;
  193.     UBYTE  num_of_rows;
  194.     ULONG  bg_color;
  195.     ULONG  bright_color;
  196.     ULONG  dark_color;
  197.     Object *dt_object;
  198.     struct Gadget       *gdg[64];
  199.     struct PathList     *GlobalPath;
  200.     BOOL   vmm;
  201.     BOOL   scrnot;
  202.     struct MsgPort      *appport;
  203.     struct AppWindow    *appwin;
  204. };
  205.  
  206. void                DrawDTObject            (Object *src, UWORD s_x, UWORD s_y, struct RastPort *dest, UWORD d_x, UWORD d_y, WORD w, WORD h, BOOL really);
  207. void                my_Refresh              (Class *cl,struct Gadget *o, Msg msg);
  208. ULONG               newGauge                (Class *cl,struct Gadget *g,struct gpRender *msg,struct GaugeData *inst);
  209. ULONG               getGauge                (Class *cl,struct Gadget *g,struct gpRender *msg);
  210. void                setGauge                (Class *cl,struct Gadget *g,struct gpRender *msg);
  211. void                disposeGauge            (Class *cl,struct Gadget *g,struct gpRender *msg);
  212. ULONG               renderGauge             (Class *cl,struct Gadget *g,struct gpRender *msg);
  213. ULONG               newLauncher             (Class *cl,struct Gadget *g,struct gpRender *msg);
  214. ULONG               renderLauncher          (Class *cl,struct Gadget *g,struct gpRender *msg);
  215. ULONG               getLauncher             (Class *cl,struct Gadget *g,struct gpRender *msg);
  216. void                setLauncher             (Class *cl,struct Gadget *g,struct gpRender *msg);
  217. ULONG               dispatchGaugeGadget     (Class *cl,Object *o,        Msg msg);
  218. ULONG               dispatchLauncherGadget  (Class *cl,Object *o, Msg msg);
  219. Class              *initGaugeGadgetClass    (void);
  220. Class              *initLauncherGadgetClass (void);
  221. ULONG               HookEntry               (void);
  222. struct              TextFont *OpenTopaz     (void);
  223. struct              Task *init_idle         (void);
  224. void                free_idle               (void);
  225. BOOL                freeGaugeGadgetClass    (Class *cl);
  226. BOOL                freeLauncherGadgetClass (Class *cl);
  227. void                my_RectFill             (struct RastPort *rp,WORD x,WORD y,WORD width,WORD height);
  228. void                my_Blit                 (struct RastPort *src,WORD topx,WORD topy,struct RastPort *dest,WORD dtopx,WORD dtopy,WORD width,WORD height);
  229. void                draw_border_new         (struct RastPort *rp,ULONG x,ULONG y,ULONG width,ULONG height,int b_col1,int b_col2 );
  230. struct              Window *openWindow      (struct tm_sys_set *set,struct tm_data *data, Class *gclass, Class *lclass);
  231. void                closeWindow             (struct tm_sys_set *set,struct tm_data *data);
  232. void                fileBackground          (struct tm_sys_set *set,struct tm_data *data);
  233. void                new_window_size         (struct tm_sys_set *set,struct tm_data *data);
  234. void                allocGadgets            (struct tm_sys_set *set,struct tm_data *data, Class *gclass, Class *lclass);
  235. void                removeGadgets           (struct tm_sys_set *set,struct tm_data *data);
  236. void                drawBackground          (struct tm_sys_set *set,struct tm_data *data);
  237. struct  Window     *snapBackground          (struct tm_sys_set *set,struct tm_data *data);
  238. struct  tm_sys_set *handler                 (struct tm_sys_set *set,struct tm_data *data,struct MsgPort *broker_mp, CxObj *broker, ULONG cxsigflag, Class *gclass, Class *lclass);
  239. int                 getNum                  (struct tm_gau_set *list);
  240. BOOL                InitWorkbenchPath       (struct tm_data *data);
  241. void                FreeWorkbenchPath       (struct tm_data *data);
  242. void                GetPenNew               (struct Screen *scr,struct GAU_Color *col,ULONG number, BOOL *PorC, ULONG *Pens);
  243. UWORD               obtainPen               (struct Screen *src, struct GAU_Color *scr);
  244. void                FreePenNew              (struct Screen *scr, struct GAU_Color *col,ULONG number, ULONG *Pens);
  245. UWORD               calcXPos                (UWORD i, struct tm_data *data, struct tm_sys_set *set);
  246. UWORD               calcYPos                (UWORD i, struct tm_data *data, struct tm_sys_set *set);
  247. void                BltT                    (struct BitMap *src, UWORD s_x, UWORD s_y, struct RastPort *dest, UWORD d_x, UWORD d_y, UWORD w, UWORD h, UBYTE t_col, UBYTE *mask);
  248. int                 my_strlen               (char s[]);
  249. UBYTE               long_2_string_with_thousand(ULONG num, char output[], char point, BOOL negative);
  250. BOOL                CopyPathList            (struct PathList **pla, struct PathList **plc,struct PathList *oldpl);
  251. void                FreePathList            (struct PathList *pla);
  252. void                RunFile                 (struct lau_entry *entry, struct tm_data *data, struct WBArg *wbarg, ULONG numarg);
  253. __saveds ULONG     *pAllocVec               (ULONG memSize);
  254. __saveds void       pFreeVec                (ULONG *memory);
  255. void                show                    (int what);
  256. Object             *LoadImage               (char *file, struct Screen *scr);
  257. struct  GAU_Color  *GetGaugePen             (WORD pen);
  258. ULONG               Retina_AvailMem         (ULONG attributes);
  259.  
  260.